package com.fengye.algorithms.leecode.dp;

/**
 * @Author fengye
 * @Date 2023/5/4 6:53
 **/
public class DecodeWays91 {
    public int numDecodings(String s) {
        int len = s.length();
        int[] dp = new int[len+1];
        dp[0] = 1;

        for(int i=1;i<=len;i++) {
            // 不等于0的时候，就是加上前一个的数
            if(s.charAt(i-1) != '0') {
                dp[i] += dp[i-1];
            }

            if(i>1 && s.charAt(i - 2) != '0' && (s.charAt(i-2) - '0')*10 + (s.charAt(i-1) - '0') <= 26) {
                dp[i] += dp[i-2];
            }
        }

        return dp[len];
    }
}
